Mobile application development is the process by which application software is developed for handheld devices, such as personal digital assistants, enterprise digital assistants, mobile phones (e.g., smart phones), tablet computers, etc. Mobile applications (e.g., “apps”) can be pre-installed on devices during manufacturing, downloaded by customers from various mobile software distribution platforms, or delivered as web applications using server-side or client-side processing to provide an application-like experience within a web browser.
It is common for an application developer to test an application before releasing the application to the end user. Testing may be used to find and fix errors in an application so that, once released, the end user has a positive user experience when using the application. Mobile applications may be initially tested within the development environment using emulators and later subjected to field testing. Emulators provide an inexpensive way to test applications on mobile devices to which developers may not have physical access. Many aspects of application testing are performed manually, which leads to the application testing process as a whole being time consuming and expensive.